Recovering Multi-Dimensionality From Legacy Software

نویسندگان

  • Meghan Revelle
  • David Coppit
چکیده

Even in the most well-designed systems, some modules are difficult to maintain due to tangling of multiple concerns within a single monolithic codebase. Software plans have been proposed as an alternative multi-dimensional representation of software in which the programmer can implement independent concerns in separate views of the code. This reduces the difficulty of maintenance by allowing the programmer to view, reason about, and edit the software in a multidimensional manner, where each dimension corresponds to a concern of interest. As promising as this approach may be, there remains a large amount of legacy code that was developed using the traditional monolithic representation. We present an approach for reverse engineering software plans from existing monolithic code using static and dynamic feature location techniques. To evaluate our approach, we applied it to GNU gcc, extracting software plans that separate previously tangled code into multiple concern dimensions.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Graph Pattern Matching Approach to Software Architecture Recovery

This paper presents a technique for recovering the high level design of legacy software systems based on pattern matching and user defined architectural patterns. Architectural patterns are represented using a description language that is mapped to an attributed relational graph and allows to specify the legacy system components and their data and control flow interactions. Such pattern descrip...

متن کامل

Pattern-based Software Architecture Recovery

This paper presents a technique for recovering the high level design of legacy software systems based on pattern matching and user defined architectural patterns. Architectural patterns are represented using a description language that is mapped to an attributed relational graph and allows to specify the legacy system components and their data and control flow interactions. Such pattern descrip...

متن کامل

Recovering Rationale

Understanding the rationale of the architectural decisions supports software evolution: when developers add functionality, the explicit rationale helps them to track which decisions need to be revisited and which alternatives have already been evaluated. Unfortunately, architectural rationale is hardly ever documented for existing legacy systems. Is there any chance we can recover the architect...

متن کامل

Requirements Reengineering from Legacy Information Systems Using Semiotic Techniques

Recovering users and systems requirements from existing information systems can be valuable in legacy systems reengineering. AMBOLS, a semiotic approach to requirements reengineering, considers recovering the requirements of an existing (legacy) system under the restriction that only the operational system and its current stakeholders are accessible, while the original system documentation may ...

متن کامل

Reclipse – A Reverse Engineering Tool Suite

Design pattern detection is a reverse engineering methodology that helps software engineers to analyze and understand legacy software by recovering design decisions and thereby providing deeper insight into software. In this report we present Reclipse, a reverse engineering tool suite based on Fujaba. Reclipse provides static and dynamic design pattern detection in combination with a pattern ra...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2007